Method and system for accessing a file system

ABSTRACT

A method for accessing a file system including computing a first numerical similarity score for a first stored document and a second numerical similarity score for a second stored document by comparing a plurality of weighted active terms with a plurality of weighted indexed terms, determining a document order of the first stored document followed by the second stored document based on the first numerical similarity score exceeding the second numerical similarity score, generating a list of similar documents including the first stored document followed by the second stored document based on the document order, and displaying, in a file system interface and on the computer display, the list of similar documents while an active document is open in an active document interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/780,135, entitled: “METHOD AND SYSTEM FOR ACCESSING A FILE SYSTEM”and filed on Jul. 19, 2007. Accordingly, this application claims benefitfrom U.S. patent application Ser. No. 11/780,135 under 35 U.S.C. §120.

BACKGROUND

Computers pervade virtually every aspect of an individual's life. Oneaspect that has been significantly impacted is the ability to store andretrieve information. Classically, in order to store and retrieveinformation, a user would use a filing cabinet with drawers filled withfolders. Inside the folders are the files that a user stores. To store afile, the user identifies the appropriate drawer. Next, the user wouldidentify the correct folder before physically placing the file into thedrawer. In order to retrieve a file, the user opens the appropriatedrawer, then the appropriate folder, and finally pulls the file out ofthe folder. The classical technique relies upon the organizationalskills of the user. Specifically, the user typically has anorganizational system for filing files (e.g., alphabetically, bycategory, etc.).

In keeping with the filing cabinet metaphor, computers also allow forstoring and maintaining files. Specifically, computers maintain thehierarchy of drawers, folders, and files with directories,sub-directories, and files. However, whereas the hierarchy is typicallythree layers deep for a filing cabinet, the hierarchy maintained on acomputer may be virtually infinitely deep. Specifically, a directory ona user's computer often has one or more sub-directories.

For example, a computer may have a directory for each user. Inside theuser directory are directories corresponding to the classifications ofprojects upon which the user is working. Inside the projectclassifications directory are sub-directories for each project. Insidethe project directories are sub-directories corresponding to thesubparts of a project, etc. Thus, the computers rely on the individual'sorganizational skills more than the physical filing cabinet.

In order to alleviate the requirement on a user to have organizationalskills, several techniques are employed by developers of interfaces tothe access and maintain user's files. For example, many operatingsystems have a directory that is specifically reserved for the user'sfiles and separate from the system files. By separating the system filesfrom the user's files, the user has the option of viewing only the filespertinent to the user. In another example, applications will oftenautomatically create a directory reserved for the user's files that areassociated with that application. When the user requests to open a filewithin the application, the directory created by the application for theuser is opened. Thus, interfaces to directories may assist the user toaccess files.

SUMMARY

In general, in one aspect, the invention relates to a method foraccessing a file system comprising identifying a plurality of activeterms comprising words found in an active document, determining aplurality of active frequencies of occurrence of the plurality of activeterms, assigning a plurality of active weights to the plurality ofactive terms based on the plurality of active frequencies of occurrenceto generate a plurality of weighted active terms, identifying aplurality of weighted indexed terms comprising words found in aplurality of stored documents that are stored in the file system,wherein the plurality of weighted indexed terms are weighted accordingto a plurality of stored frequencies of occurrence in the plurality ofstored documents, computing a first numerical similarity score for afirst stored document and a second numerical similarity score for asecond stored document by comparing the plurality of weighted activeterms with the plurality of weighted indexed terms, determining adocument order of the first stored document followed by the secondstored document based on the first numerical similarity score exceedingthe second numerical similarity score, generating a list of similardocuments comprising the first stored document followed by the secondstored document based on the document order, and displaying, in a filesystem interface and on a computer display, the list of similardocuments while an active document is open in an active documentinterface.

In general, in one aspect, the invention relates to a system foraccessing a file system comprising a memory coupled to a processor; adocument index, stored in the memory and configured to store a pluralityof active terms comprising words found in an active document; a searchindex stored in the memory and configured to store a plurality ofweighted indexed terms comprising words found in a plurality of storeddocuments that are stored in the file system, wherein the plurality ofweighted indexed terms are weighted according to a plurality of storedfrequencies of occurrence in the plurality of stored documents; a filesystem engine, executing on the processor and configured to determine aplurality of active frequencies of occurrence of the plurality of activeterms, assign a plurality of active weights to the plurality of activeterms based on the plurality of active frequencies of occurrence togenerate a plurality of weighted active terms, compute a first numericalsimilarity score for a first stored document and a second numericalsimilarity score for a second stored document by comparing the pluralityof weighted active terms with the plurality of weighted indexed terms,determine a document order of the first stored document followed by thesecond stored document based on the first numerical similarity scoreexceeding the second numerical similarity score, and generate the listof similar documents comprising the first stored document followed bythe second stored document based on the document order; and a filesystem interface, executing on the processor and configured to display alist of similar documents while the active document is open in theactive document interface.

In general, in one aspect, the invention relates to a non-transitorycomputer readable medium storing instruction for accessing a filesystem, the instructions executable on a processor and comprisingfunctionality for identifying a plurality of active terms comprisingwords found in an active document, determining a plurality of activefrequencies of occurrence of the plurality of active terms, assigning aplurality of active weights to the plurality of active terms based onthe plurality of active frequencies of occurrence to generate aplurality of weighted active terms, identifying a plurality of weightedindexed terms comprising words found in a plurality of stored documentsthat are stored in the file system, wherein the plurality of weightedindexed terms are weighted according to a plurality of storedfrequencies of occurrence in the plurality of stored documents,computing a first numerical similarity score for a first stored documentand a second numerical similarity score for a second stored document bycomparing the plurality of weighted active terms with the plurality ofweighted indexed terms, determining a document order of the first storeddocument followed by the second stored document based on the firstnumerical similarity score exceeding the second numerical similarityscore, generating a list of similar documents comprising the firststored document followed by the second stored document based on thedocument order, and displaying, in the file system interface and on thecomputer display, the list of similar documents while the activedocument is open in the active document interface.

Other aspects of the invention will be apparent from the followingdescription and the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows a schematic diagram of a system in accordance with one ormore embodiments of the invention.

FIG. 2 shows an example file system interface in accordance with one ormore embodiments of the invention.

FIGS. 3A-4B show flowcharts of methods in accordance with one or moreembodiments of the invention.

FIG. 5 shows a computer system in accordance with one or moreembodiments of the invention.

DETAILED DESCRIPTION

Specific embodiments of the invention will now be described in detailwith reference to the accompanying figures. Like elements in the variousfigures are denoted by like reference numerals for consistency.

In the following detailed description of embodiments of the invention,numerous specific details are set forth in order to provide a morethorough understanding of the invention. However, it will be apparent toone of ordinary skill in the art that the invention may be practicedwithout these specific details. In other instances, well-known featureshave not been described in detail to avoid unnecessarily complicatingthe description.

In general, embodiments of the invention provide a method and system foraccessing a file system. Specifically, embodiments of the inventionperform a similarity analysis to identify directories which havedocuments that are similar to a document specified by the user. Morespecifically, embodiments of the invention compare the terms in thedocument with a search index of the documents on the user's computer.Thus, a user may open a similar document, open a directory havingsimilar documents, or save the document to a directory having similardocuments.

FIG. 1 shows a schematic diagram of a system in accordance with one ormore embodiments of the invention. As shown in FIG. 1, the systemincludes a file system (100), a search index (102), a user interface(104), and a file system engine (106). Each of these components isdescribed below.

A file system (100) corresponds to a storage mechanism for storing filesin accordance with one or more embodiments of the invention. A filesystem (100) includes directories (108) in accordance with one or moreembodiments of the invention.

A directory (108) corresponds to a partition of the file system that isused for organizational purposes. For example, a directory may be usedto store a category of documents (e.g., a directory for a user,directory for a project, a directory for an application, etc.). Adocument corresponds to a file from which text may be extracted. Forexample, a document may correspond to a presentation, email, hypertextmarkup language document, word processing document, spreadsheetdocument, text document, MPEG Audio Layer 3 (MP3) etc. In alternativeembodiments of the invention, a document may be any type of file. Forexample, a document may be an audio or video file from which similaritywith stored documents may be identified.

Directories are often arranged in a hierarchy in which each directoryincludes one or more sub-directories. However, other arrangements ofdirectories may also be used. Further, directories (108) include storeddocuments (110) or other classes of files (not shown) or both. Storeddocuments (110) correspond to a collection of files maintained in thefile system (100).

In one or more embodiments of the invention, information about thestored documents (110) is maintained in a search index (102). A searchindex (102) corresponds to a listing of the terms found in the indexeddocuments. An entry in the listing may correspond to a single word or aphrase. Further, entries may overlap in terms. Additionally, commonterms, such as “a,” “the,” “an,” “that,” and other such terms, may ormay not have an associated entry in the search index (102).

For example, consider the scenario in which a document has the phrase“The quick brown fox jumped over the lazy dog.” Words, such as “the”,“quick”, “brown”, “fox”, “jumped”, “over”, “lazy”, and “dog”, may beincluded in the search index. Alternatively, “the” may not exist in thesearch index according to the requirements of the search and howsimilarity is computed. Further, phrases, such as “brown fox” and “lazydog”, may be included in the search index. Additionally, overlappingphrases, such as “the quick”, “quick brown”, “brown fox”, “fox jumped”,“jumped over”, “over the”, “the lazy”, and “lazy dog”, may all beincluded in the search index.

Each entry in the search index (102) may be associated with a posting inaccordance with one or more embodiments of the invention. A postingrecords the document in which the term occurs and the number of timesthat the term occurs in the document. The document may be stored on theposting using, for example, the document identifier of the document.Additionally, the posting may include an indication of the position inthe document at which the term occurred.

In one or more embodiments of the invention, the entries in the searchindex are stored in a data structure for fast retrieval. For example,the entries in the search index may be stored in a dictionary that maybe accessed via a hashing algorithm or binary search. Each entry in thesearch index may include a reference to the postings associated with theentry and an indication of the number of documents in which the entrymay be identified. Alternatively, other techniques may also be used.

Continuing with FIG. 1, in addition to the search index (102) and filesystem (100), the system also includes a user interface (104). In one ormore embodiments of the invention, a user interface (104) corresponds toa mechanism by which a user may interact with a computer (not shown).The user interface (104) may correspond to a graphical user interface,command line based interface, or any other type of interface. The userinterface (104) may include an active document interface (112) and afile system interface (114).

In one or more embodiments of the invention, an active documentinterface (112) corresponds to a mechanism for a user to interact withan active document. An active document corresponds to any type ofdocument which is in use by the user. Specifically, an active documentmay correspond to a document that is opened, viewed, selected (e.g.,highlighted or otherwise indicated) using the user interface (104), oris activated by transference from a network, executed, etc. Further, theactive document may or may not correspond to one of the stored documents(110). For example, the active document interface may correspond to anapplication that has the active document opened or may retrieve theactive document, such as a word processing application, music player,etc.

In one or more embodiments of the invention, the active documentinterface (112) includes functionality to access the file systeminterface (114). A file system interface (114) corresponds to amechanism by which a user interacts with the file system (100) byopening and saving active documents. Moreover, a file system interface(114) includes functionality to display a list of similar documents or alist of directories that include similar documents in accordance withone or more embodiments of the invention.

In one or more embodiments of the invention, a similar documentcorresponds to a stored document having one or more terms or phrasesthat are the same or similar derivative to the terms and phrases in theactive document. In one or more embodiments of the invention, terms inthe active document are given weights. In particular, specialized terms,such as industry specific terms, are given a greater weight then termsthat generally appear in a variety of documents. Further, the list ofsimilar documents may be ordered by similarity. Specifically, the orderof the similar documents in the list may be based on the result of afunction that combines the weights of the terms and phrases that existsin both documents (i.e., the active document and the similar document)and the weights of all terms in both documents.

The file system interface (114) also includes functionality to display alist of directories that include similar documents. In one or moreembodiments of the invention, the list of directories is orderedaccording to the number of similar documents. Further the list ofdirectories may be ordered according to the percentage of similardocuments in the directory. Alternatively, the directory may be orderedaccording to the number of terms in each directory that are the same asthe active document.

In one or more embodiments of the invention, interposed between the filesystem (100), search index (102), and graphical user interface (104) isa file system engine (106). A file system engine (106) includesfunctionality to access the file system in order to retrieve storeddocument, store documents (i.e., active document, stored documents,etc.), and obtain information about stored documents. Moreover, a filesystem engine (106) includes functionality to generate the search index(102) and identify similar documents in the file system in order topopulate the file system interface (114).

FIG. 2 shows an example file system interface (150) in accordance withone or more embodiments of the invention. Specifically, FIG. 2 shows anexample interface for a user to save or open an active document inaccordance with one or more embodiments of the invention. FIG. 2 isintended solely for exemplary purposes. The actual display to the usermay vary based on the operating system, file system engine, and whethera graphical user interface is used.

As shown in FIG. 2, the file system interface (150) may include a titlebar (152), listing (168), location field (154), go to button (156), namefield (170), and submit button (172). The title bar (152) may be used,for example, to indicate to the user whether the user is opening orsaving a file. The listing (168) shows a list of directories and files.The location field (154) may show the location of the listing (168) inthe file system.

Further, the location field (154) may be configured to receive inputfrom the user. The go to button (156) may be associated with thelocation field such that upon input in the location field (154) and thego to button (156), the listing (168) shows a list of directories orfiles at the location specified in the location field (154).

In addition to the location field (154) and go to button (156), the filesystem interface (150) may also include a name field (170) and submitbutton (172). The name field (170) may be used for a user to input aname of a directory or file listed in the listing (168). Once the userhas entered the name, the submit button (172) may be used to open adirectory or finalize the storage or retrieval of the file.

The exemplary file system interface (150) may also include shortcutbuttons (e.g., view home directory button (158), view recent filesbutton (160), view directories with similar documents button (162), viewsimilar documents button (164)). By selecting any of the shortcutbuttons, the user may view a listing (168) associated with the button.For example, a user may select on the view home directory button (158)to immediately view a listing of directories and files in the homedirectory (e.g., a specific directory for the user application). Inanother example, the view recent files button (160) allows a user toview a listing of the files which the user has recently opened orotherwise activated.

When the view directories with similar documents button (162) isselected, as shown in the example, a listing of directories havingsimilar documents within the directory may be displayed. The listing ofdirectories may show the directories with the highest aggregatesimilarity with the active document. For example, the average or totalsimilarity for all of the documents in a directory may be computed toidentify a directories similarity score. Directories with a similarityscore above a predefined threshold may be displayed. Further, the numberof directories may be limited to a specified number. For example, onlythe directories with the ten greatest similarity score may be shown.Further, both a directory and the sub-directories of the directory maybe shown in the listing (168) in accordance with one or more embodimentsof the invention.

As an alternative to displaying a listing of directories with similardocuments, a listing of similar documents may be displayed.Specifically, when the view similar documents button (164) is selected,the listing corresponds to a listing of similar documents. The documentsin the listing are ordered according to the similarity in accordancewith one or more embodiments of the invention. In one or moreembodiments of the invention, the view similar documents button is notdisplayed or able to be selected when accessing the file systemcorresponds to saving a file.

Other arrangements of buttons and fields in the file system interface,not shown in FIG. 2, may be used. For example, if a command lineinterface is used, then the user may type in a command to view a list ofdirectories with similar documents. In another example, if an auditoryinterface is used, then the user may speak a command to view or listento a list of directories with similar documents.

FIGS. 3A-4B show flowcharts of methods in accordance with one or moreembodiments of the invention. While the various steps in theseflowcharts are presented and described sequentially, one of ordinaryskill will appreciate that some or all of the steps may be executed indifferent orders and some or all of the steps may be executed inparallel. FIG. 3A shows a flowchart of a method to create a search indexin accordance with one or more embodiments of the invention. Initially,a stored document is identified (Step 201). The stored documentcorresponds to one of the documents from which the search index is to becreated.

Using the file type of the file to identify the terms from theformatting, a stored document may be parsed to generate a list of terms(Step 203). Next, terms that correspond to phrases may be grouped.Determining how to group the terms may be performed according tocharacteristics of the term (e.g., proper nouns), a stored dictionary,and formatting. For example, “Abraham” and “Lincoln” may be grouped when“Abraham” directly precedes “Lincoln.”

The list of terms, including grouped phrases may be used to create adocument index (Step 205). Specifically, terms and phrases from the listof terms may be added to the document index. When parsing the storeddocument or adding terms to the document index, common terms (e.g., a,and, an, the, that, etc.) may be ignored. Further, the document indexmay be reduced by maintaining the number of instances of the term in thelist of terms rather than maintaining each instance of a termindividually. For example, if the document index already has an entry of“Beagle” when “Beagle” is identified a second time in the list of terms,then a number associated with “Beagle” may be incremented to two inorder to include the second instance. Further, the position in which“Beagle” appears in the stored document may be maintained with “Beagle”in the document index.

Next, the document index may be merged with the search index (Step 207).Specifically, for the first stored document that is added, the searchindex may be created and the document index added to the newly createdsearch index. Adding the document index to the search index may beperformed by comparing the document index with entries already in thesearch index. Any entry in the search index that corresponds to terms inthe stored document may be amended by adding a posting for the entryfrom the stored document. Specifically, the posting may identify thestored document, the number of instances of the term or phrase in thestored document, and the position of the term or phrase in the storeddocument. Further, the search index may be amended to include entries inthe document index that do not previously exist in the search index.

A determination may then be made whether another stored document exists(Step 209). Specifically, at any time during the creation and use of thesearch index, the search index may be amended to include more storeddocuments. For example, when a new document is stored in the filesystem, entries in the search index corresponding to terms in the newdocument may be amended or added accordingly. Further, the index may beamended to remove and amend postings for stored documents that aredeleted or moved in the file system. If another stored document isfound, then the next stored document is identified (Step 201) and theprocess may repeat with adding terms for the next stored document.

FIG. 3B shows a flowchart of a method for accessing the file systemusing the search index in accordance with one or more embodiments of theinvention. Initially, an active document is identified (Step 211). Anactive document may be identified as an opened document. An interfacefor the active document, such as a music player or recorder, may requestthe file system interface to access the file system.

Once the active document is identified, a weighted list of terms in theactive document is created (Step 213). Creating the weighted list ofterms in the active document may be performed in a manner similar tocreating document index for one of the stored documents as describedabove. Weights may be added to the terms in the list of terms accordingto a weighting function. For example, one type of weighting function isTFxIDF. In TFxIDF, a weight assigned to a term is computed bymultiplying the frequency of the term in the document by the inversedocument frequency (i.e., 1 over the number of documents in which theterm occurs.) Thus, in TFxIDF, terms are given higher weights when theterms occur frequently in the document and infrequently in the remainingdocuments. Further, terms may be given greater weight when the termappears in the title.

Once the weighted list of terms is created, the search index is searchedfor terms in the weighted list of terms to identify and rate similarstored documents (Step 215). Specifically, a lookup is performed on thesearch index for each term in the weighted list of terms in accordancewith one or more embodiments of the invention. One way to determine thesimilarity between a stored document and the active document is tomultiply the weight of the term in the stored document with the weightof the term in the active document for each term in both documents toobtain a product. Next, the products may be totaled to identify asimilarity score for the stored document with the active document.

Once the similar stored documents are identified and rated, then adetermination is made whether to generate a listing of the directorieshaving similar documents (Step 217). If the directories having similardocuments are not generated, then a list of similar documents may begenerated. Specifically, in one or more embodiments of the invention, alist of similar documents is generated based on rating the similardocuments and displayed (Step 219). Alternatively, if the directorieswith similar documents are generated, then the directories with similardocuments may be ordered as discussed above and the list of directoriesis displayed according to the order in the file system interface (Step221).

Regardless of whether the list of directories is displayed or a list ofsimilar documents is displayed, the file system is accessed.Specifically, the user may select a directory or a similar document andrequest to open a similar document, a file, or a directory. Further,rather than displaying the list of directories or the list of similardocuments, the lists may be output as audio. Specifically, using a textto speech conversion program, each directory may be translated to anaudio file. The audio file may then be played for the user.

FIGS. 4A-4B show flowcharts of a method for a user to access a filesystem in accordance with one or more embodiments of the invention.Specifically, FIG. 4A shows a flowchart of a method for a user to savean active document. Initially, a user creates an active document (Step251). The user may create an active document by opening a storeddocument, creating a new document, requesting a document be retrievedfrom a network, etc.

Next, the user submits a save command (Step 253). When the user submitsthe save command, the user may be navigated to a file system interface.In the file system interface, the user may select, for example, to savethe active document to a directory that has similar documents.Alternatively, the user may be directed, by default, to a listing ofdirectories with similar documents.

Accordingly, the list of directories having similar documents isgenerated. Accordingly, the user receives and reviews the list ofdirectories that include similar documents (Step 255). Directorieslisted in the list of directories that includes similar documents may bedistributed throughout the file system. Thus, by reviewing a list ofdirectories that may or may not be sub-directories of the samedirectory, embodiments of the invention may allow the user to review avirtual organization of the file system.

After reviewing the list of directories with similar documents, the usermay select a directory from the list of directories (Step 257).Specifically, the user may open one of the directories in the list ofdirectories. Next, the user may save the active document to the selecteddirectory (Step 259).

In addition to saving a document, a user may also open a document usingthe file system interface. FIG. 4B shows a flowchart of a method for auser to save a similar document in accordance with one or moreembodiments of the invention. Initially, an active document isidentified (Step 261). The active document may be identified as adocument that the user has opened or has available. For example, theuser may specify, when accessing the file system interface, that theuser wants a document that is similar to another document that isspecified by the user. Accordingly, the file system interface isdisplayed for the user in accordance with one or more embodiments of theinvention.

Next, the user determines whether to open the document from a list ofsimilar documents (Step 263). For example, the user may desire to open asimilar document rather than a file (e.g., document or otherwise) from adirectory having similar documents. If the user requests to open asimilar document, than the file system engine may create a list ofsimilar documents. Thus, using the file system interface, the user mayreview the list of similar documents in accordance with one or moreembodiments of the invention (Step 265). Similar documents in the listof similar documents may be distributed throughout the file system.Thus, the user may select one or more similar documents to open from thelist of similar documents (Step 267). For example, the user mayhighlight one or more similar documents and request that the highlighteddocuments be opened.

Rather than opening similar documents, the user may submit a command toopen a file from a directory having similar documents. If the userrequests to open a file from a directory having similar documents, thena list of directories is displayed. Accordingly, the user may review thelist of directories having similar documents (Step 269). Next, adirectory from the list of directories is selected (Step 271).Specifically, the user may request to view the contents of thedirectory. When the directory is opened, a list of documents,non-textual based files, and sub-directories contained in the directorymay be shown. Accordingly, the user may open a file in the directory(Step 273). Opening the file in the directory may correspond to a userselecting a sub-directory and opening a file in the sub-directory.Further, the file that the user opens may correspond to a storeddocument, a similar document, or a file from which text may not beextracted.

The invention may be implemented on virtually any type of computerregardless of the platform being used. For example, as shown in FIG. 5,a computer system (300) includes a processor (302), associated memory(304), a storage device (306), and numerous other elements andfunctionalities typical of today's computers (not shown). The computer(300) may also include input means, such as a keyboard (308) and a mouse(310), and output means, such as a monitor (312). The computer system(300) is connected to a local area network (LAN) or a wide area network(e.g., the Internet) (not shown) via a network interface connection (notshown). Those skilled in the art will appreciate that these input andoutput means may take other forms.

Further, those skilled in the art will appreciate that one or moreelements of the aforementioned computer system (300) may be located at aremote location and connected to the other elements over a network.Further, the invention may be implemented on a distributed system havinga plurality of nodes, where each portion of the invention (e.g.,directories in directory structure, file system engine, file system,active document, index) may be located on a different node within thedistributed system. In one embodiment of the invention, the nodecorresponds to a computer system. Alternatively, the node may correspondto a processor with associated physical memory. The node mayalternatively correspond to a processor with shared memory andresources. Further, software instructions to perform embodiments of theinvention may be stored on a computer readable medium such as a compactdisc (CD), a diskette, a tape, a file, or any other computer readablestorage device.

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments can be devised whichdo not depart from the scope of the invention as disclosed herein.Accordingly, the scope of the invention should be limited only by theattached claims.

1. A computerized method for accessing a file system comprising:displaying, on a computer display, an active document interfacecomprising an active document that is in use by a user; receiving aselection from the user to display a file system interface that allowsinteraction with the file system by the user; displaying, on thecomputer display, the file system interface comprising a view similardocuments button; receiving a selection of the view similar documentsbutton by the user; identifying a plurality of active terms comprisingwords found in the active document; determining a plurality of activefrequencies of occurrence of the plurality of active terms; assigning aplurality of active weights to the plurality of active terms based onthe plurality of active frequencies of occurrence to generate aplurality of weighted active terms; identifying a plurality of weightedindexed terms comprising words found in a plurality of stored documentsthat are stored in the file system, wherein the plurality of weightedindexed terms are weighted according to a plurality of storedfrequencies of occurrence in the plurality of stored documents;computing a first numerical similarity score for a first stored documentand a second numerical similarity score for a second stored document bycomparing the plurality of weighted active terms with the plurality ofweighted indexed terms; determining a document order of the first storeddocument followed by the second stored document based on the firstnumerical similarity score exceeding the second numerical similarityscore; generating a list of similar documents comprising the firststored document followed by the second stored document based on thedocument order; and displaying, in the file system interface and on thecomputer display, the list of similar documents while the activedocument is open in the active document interface.
 2. The method ofclaim 1, further comprising: identifying, for the first stored documentof the plurality of stored documents, a plurality of first common termsthat are in both the plurality of weighted active terms and a pluralityof first weighted indexed terms of the first stored document;multiplying, for each common term in the plurality of first commonterms, a first active weight of the common term in the plurality ofweighted active terms by a first stored weight of the common term in theplurality of first weighted indexed terms of the first stored documentto generate a plurality of first products; summing the plurality offirst products to generate the first numerical similarity score for theactive document and the first stored document; identifying, for thesecond stored document of the plurality of stored documents, a pluralityof second common terms that are in both the plurality of weighted activeterms and a plurality of second weighted indexed terms of the secondstored document; multiplying, for each common term in the plurality ofsecond common terms, a second active weight of the common term in theplurality of weighted active terms by a second stored weight of thecommon term in the plurality of second weighted indexed terms of thesecond stored document to generate a plurality of second products; andsumming the plurality of second products to generate the secondnumerical similarity score for the active document and the second storeddocument, wherein the first numerical similarity score exceeds thesecond numerical similarity score.
 3. The method of claim 1, furthercomprising: identifying a plurality of stored terms comprising wordsfound in the plurality of stored documents; determining the plurality ofstored frequencies of occurrence of the plurality of stored terms; andassigning a plurality of stored weights to the plurality of stored termsbased on the plurality of stored frequencies of occurrence to generatethe plurality of weighted indexed terms.
 4. The method of claim 1,further comprising: identifying the first stored document in a firstdirectory; and identifying the second stored document in a seconddirectory that is distinct from the first directory.
 5. The method ofclaim 4, further comprising: receiving the first directory as input to aname field in the file system interface; receiving a selection of asubmit button in the file system interface; and storing the activedocument in the first directory.
 6. The method of claim 4, furthercomprising: determining a directory order of the first directoryfollowed by the second directory based on the first numerical similarityscore exceeding the second numerical similarity score; generating a listof directories including similar documents comprising the firstdirectory followed by the second directory based on the directory order;and displaying, in the file system interface and on the computerdisplay, the list of directories including similar documents while theactive document is open in the active document interface.
 7. The methodof claim 6, further comprising: opening the first directory in the listof directories including similar documents using the file systeminterface; and opening the first stored document in the first directory.8. A system for accessing a file system comprising: a memory coupled toa processor; an active document interface configured to display anactive document that is in use by a user; a document index, stored inthe memory and configured to: store a plurality of active termscomprising words found in the active document; a search index stored inthe memory and configured to: store a plurality of weighted indexedterms comprising words found in a plurality of stored documents that arestored in the file system, wherein the plurality of weighted indexedterms are weighted according to a plurality of stored frequencies ofoccurrence in the plurality of stored documents; a file system engine,executing on the processor and configured to: determine a plurality ofactive frequencies of occurrence of the plurality of active terms;assign a plurality of active weights to the plurality of active termsbased on the plurality of active frequencies of occurrence to generate aplurality of weighted active terms; compute a first numerical similarityscore for a first stored document and a second numerical similarityscore for a second stored document by comparing the plurality ofweighted active terms with the plurality of weighted indexed terms;determine a document order of the first stored document followed by thesecond stored document based on the first numerical similarity scoreexceeding the second numerical similarity score; and generate the listof similar documents comprising the first stored document followed bythe second stored document based on the document order; and a filesystem interface, executing on the processor and configured to: displaya view similar documents button; receive a selection of the view similardocuments button by the user, and display the list of similar documentswhile the active document is open in the active document interface,wherein the active document interface is further configured to receive aselection from the user to display the file system interface that allowsinteraction with the file system by the user.
 9. The system of claim 8,wherein the file system engine is further configured to: identify, forthe first stored document of the plurality of stored documents, aplurality of first common terms that are in both the plurality ofweighted active terms and a plurality of first weighted indexed terms ofthe first stored document; multiply, for each common term in theplurality of first common terms, a first active weight of the commonterm in the plurality of weighted active terms by a first stored weightof the common term in the plurality of first weighted indexed terms ofthe first stored document to generate a plurality of first products; sumthe plurality of first products to generate the first numericalsimilarity score for the active document and the first stored document;identify, for the second stored document of the plurality of storeddocuments, a plurality of second common terms that are in both theplurality of weighted active terms and a plurality of second weightedindexed terms of the second stored document; multiply, for each commonterm in the plurality of second common terms, a second active weight ofthe common term in the plurality of weighted active terms by a secondstored weight of the common term in the plurality of second weightedindexed terms of the second stored document to generate a plurality ofsecond products; and sum the plurality of second products to generatethe second numerical similarity score for the active document and thesecond stored document, wherein the first numerical similarity scoreexceeds the second numerical similarity score.
 10. The system of claim8, wherein the file system engine is further configured to: identify thefirst stored document in a first directory; and identify the secondstored document in a second directory that is distinct from the firstdirectory.
 11. The system of claim 10, wherein the file system engine isfurther configured to: determine a directory order of the firstdirectory followed by the second directory based on the first numericalsimilarity score exceeding the second numerical similarity score; andgenerate a list of directories including similar documents comprisingthe first directory followed by the second directory based on thedirectory order; and wherein the file system interface is furtherconfigured to: display the list of directories including similardocuments while the active document is open in the active documentinterface.
 12. The system of claim 10, wherein the file system interfaceis further configured to: receive the first directory as input to a namefield in the file system interface; receive a selection of a submitbutton in the file system interface; and store the active document inthe first directory.
 13. A non-transitory computer readable mediumstoring instruction for accessing a file system, the instructionsexecutable on a processor and comprising functionality for: displaying,on a computer display, an active document interface comprising an activedocument that is in use by a user; receiving a selection from the userto display a file system interface that allows interaction with the filesystem by the user; displaying, on the computer display, the file systeminterface comprising a view similar documents button; receiving aselection of the view similar documents button by the user; identifyinga plurality of active terms comprising words found in the activedocument; determining a plurality of active frequencies of occurrence ofthe plurality of active terms; assigning a plurality of active weightsto the plurality of active terms based on the plurality of activefrequencies of occurrence to generate a plurality of weighted activeterms; identifying a plurality of weighted indexed terms comprisingwords found in a plurality of stored documents that are stored in thefile system, wherein the plurality of weighted indexed terms areweighted according to a plurality of stored frequencies of occurrence inthe plurality of stored documents; computing a first numericalsimilarity score for a first stored document and a second numericalsimilarity score for a second stored document by comparing the pluralityof weighted active terms with the plurality of weighted indexed terms;determining a document order of the first stored document followed bythe second stored document based on the first numerical similarity scoreexceeding the second numerical similarity score; generating a list ofsimilar documents comprising the first stored document followed by thesecond stored document based on the document order; and displaying, inthe file system interface and on the computer display, the list ofsimilar documents while the active document is open in the activedocument interface.
 14. The non-transitory computer readable medium ofclaim 13, the instructions comprising further functionality for:identifying, for the first stored document of the plurality of storeddocuments, a plurality of first common terms that are in both theplurality of weighted active terms and a plurality of first weightedindexed terms of the first stored document; multiplying, for each commonterm in the plurality of first common terms, a first active weight ofthe common term in the plurality of weighted active terms by a firststored weight of the common term in the plurality of first weightedindexed terms of the first stored document to generate a plurality offirst products; summing the plurality of first products to generate thefirst numerical similarity score for the active document and the firststored document; identifying, for the second stored document of theplurality of stored documents, a plurality of second common terms thatare in both the plurality of weighted active terms and a plurality ofsecond weighted indexed terms of the second stored document;multiplying, for each common term in the plurality of second commonterms, a second active weight of the common term in the plurality ofweighted active terms by a second stored weight of the common term inthe plurality of second weighted indexed terms of the second storeddocument to generate a plurality of second products; and summing theplurality of second products to generate the second numerical similarityscore for the active document and the second stored document, whereinthe first numerical similarity score exceeds the second numericalsimilarity score.
 15. The non-transitory computer readable medium ofclaim 13, the instructions comprising further functionality for:identifying the first stored document in a first directory; andidentifying the second stored document in a second directory that isdistinct from the first directory.
 16. The non-transitory computerreadable medium of claim 15, the instructions comprising furtherfunctionality for: receiving the first directory as input to a namefield in the file system interface; receiving a selection of a submitbutton in the file system interface; and storing the active document inthe first directory.
 17. The non-transitory computer readable medium ofclaim 16, the instructions comprising further functionality for:determining a directory order of the first directory followed by thesecond directory based on the first numerical similarity score exceedingthe second numerical similarity score; generating a list of directoriesincluding similar documents comprising the first directory followed bythe second directory based on the directory order; and displaying, inthe file system interface and on the computer display, the list ofdirectories including similar documents while the active document isopen in the active document interface.